As computing systems have become increasingly powerful, they have supported an ever-increasing number of processes executing at any given time. For example, many programs install update processes that run constantly, awaiting notification of software updates to be installed. Various services execute as background processes or daemons, waiting for service requests from programs, devices, or users. In addition to legitimate processes, various forms of malware or adware may be executing on a computing system at any given time. For example, a key logger may be watching a user's keystrokes for sensitive information like passwords or credit card numbers.
The various processes executing on a computing system at any given moment may create a number of problems. In addition to the security threats posed by malware, all these executing processes can impact system performance. Software bugs can cause other programs or the entire computing system to crash. In some cases, operations performed by one program may interfere with the operations of another program. For example, a user performing a time-sensitive task in one program may be interrupted by a program updater starting to download and install an update to another program. The instant disclosure, therefore, identifies and addresses a need for systems and methods for creating program-specific execution environments.